Black and white images are common across many forms of media. However, this characterization of “black and white” is ambiguous. Images commonly referred to as black and white are typically either monochromatic or grayscale images. The term monochromatic, as used herein, refers to an image made up of exactly one color which can be either on (black) or off (white). The term grayscale, as used herein, refers to an image made up of black, white, and various intermediary shades of gray.
Graphics applications such as PAINT™, which is available from Microsoft Corporation, of Redmond, Wash., and Adobe ILLUSTRATOR™, which is available from Adobe Systems Incorporated, of San Jose, Calif. generally give users the ability to create graphical objects, such as a depiction of a person, a table, or a chair. As used herein, the term graphical object is an object in a graphics application that includes features that can be manipulated and rendered by the graphics application. Graphical objects are frequently depicted as being part of a graphical scene. Generally, a graphical scene is a collection of graphical objects that may be rendered or displayed within a graphical canvas, and are often created with an artistic or pedagogic intent.
Vector graphics and raster graphics are two types of formats for describing graphical objects. Vector graphics are composed of geometrical primitives, including lines, curves, and other shapes, and may be scaled continuously in size without a loss of graphical quality. Raster graphics, on the other hand, are composed of a finite number of pixels and are, by nature, of a fixed size. Both vector and raster graphics are formats that are commonly used by those with normal skill in the art of computer graphics, and are supported by most popular graphical application software packages.
The Scalable Vector Graphics (SVG) format is a commonly-used language for describing images using vector graphics. SVG is a markup language, signifying it as a language used to describe a particular form of data, in this case, data of a graphical nature. An SVG file contains instructions for creating lines, curves, and shapes as well as information about the attributes of such lines, curves, and shapes. These attributes may include stroke width (a measure of the thickness of the line or, in the case of a shape, the line that forms the outline of the shape), stroke color, scale, fill pattern, fill color, line path, shape, rotational orientation, and relational position to name a few. Herein the term stroke is to define a line, or connected component, on the graphical canvas that represents the visible outline of a graphical object. Strokes may be described in terms of a set of criteria, including, but not limited to width, length, and curvature.
Graphics applications often enable users to convert or abstract a color graphical object into a black and white image by various methods. These methods include discarding color information using commonly known quantization techniques, adjusting image bit depth (also referred to as color depth or pixel depth), desaturation, using various software filters or plug-ins, or using a channel mixer to combine the color channels of an image into a single grayscale channel to name a few.
Current mechanisms fail to offer an automated method of abstracting colored graphical objects in such a way as to derive a line art abstraction from the original graphical object that is suitable for printing and artwork-coloring. For example, children's line art coloring books are often produced by media companies and feature popular characters, often cartoon, from popular movies, television shows, and books to name a few. Typically, these characters and scenes are manually redrawn by hand by an artist or artists in order to produce a variation on the original style that is suitable for artwork-coloring. These manual approaches are time-consuming and resource intensive, however.
Moreover, current automated mechanisms of both monochromatic and grayscale conversion also fail to produce grayscale line art of sufficient artwork-coloring quality. These mechanisms often fail to distinguish between significant details (for example, object outline strokes) and background colors in graphical objects; for example, the use of common methods of grayscale conversion on a circle filled with dark or black color(s) results in a dark region too dark to be artwork-colored when printed. For example, a black top hat object in colored cartoon scene may be filled using a dark color such as black. The same top hat from said scene would be inappropriate for line art coloring however, and would ideally be replaced by an outline of the image filled with white.
Current mechanisms for monochromatic conversion are also insufficient, as they often introduce extraneous visual artifacts into the resulting image. In addition monochromatic images, are, by nature, unable to display anti-aliasing, and are thus often unsightly. Moreover, monochromatic conversion may rely on thresholding techniques understood by those with normal skill in the art, a technique which would fail to differentiate between the top hat outline and the top hat fill color in the aforementioned example.
Current mechanisms for line art generation using popular edge detection software algorithms (for example, Sobel, Canny, Hough Transform, Difference of Gaussians to name a few) can consume considerable processor time to complete and often misinterpret important details in the resulting line art images. For example, it is also common for edge detection algorithms to produce disjoint lines, or to unnecessarily merge lines in the case of image occlusion and overlapping image regions.
In addition, both grayscale and monochromatic conversions of current mechanisms may be difficult for users who have little or no computer knowledge to perform. Children, for example—often the people most interested in artwork coloring—may be unable to do make such conversions because the intricacies of today's complicated graphics applications must first be learned.